
import 'dart:io';

main() async{
  print('程序开始，执行main入口函数');
 try{
  //等待第一个函数执行完成
  int firstData = await requestData();
  print('第一个函数执行完成，结果是$firstData');
  //等待第二个函数执行完成
  int secondData = await requestData2();
  print('第二个函数执行完成，结果是$secondData');
  //等待第三个函数执行完成
  int thirdData = await requestData3();
  print('第三个函数执行完成，结果是$thirdData');
 }catch(err){
  print('请求数据失败:$err');
 }finally{
  print('结束,不管成功失败,都执行finally');
 }



}

// 第一个
Future<int> requestData() {
  return Future(() {
    sleep(Duration(seconds: 2));
    print('第一个函数执行完成');
    return 11;
  });
}

//第二个
Future<int> requestData2() {    

  return Future(() {
    sleep(Duration(seconds: 2));
    print('第二个函数执行完成');
    return 22;
    // throw '第二个函数执行失败';
  });
}

// 第三个
Future<int> requestData3() {
  return Future(() {
    sleep(Duration(seconds: 2));
    print('第三个函数执行完成');
    return 33;
  });
}
